package com.burgeon.backend.service;

import com.burgeon.backend.SHOPBACKEND.entity.Employee;
import com.burgeon.backend.entity.*;
import com.burgeon.backend.service.ex.ErrorDataException;
import com.burgeon.backend.service.ex.GetUserDataException;
import com.burgeon.backend.service.ex.InsertException;
import com.burgeon.backend.service.ex.UserNotFoundException;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public interface UserService {

    ArrayList<RetailRecordItem> getVipRetailItem(String id,String token);

    //获取消费记录
    ArrayList<RetailRecord> getVipRetail(String phone,String token);

    ArrayList<RechargeItem> getVipRechargeItem(String phone,String token);

    void ModVipData(String id,User user,String account) throws ErrorDataException;

    User GetModVipData(String id,String account);
    //获取卡类型
    ArrayList<String> GetVipType(String account);

    void DelVipWX(String code,String account) throws ErrorDataException;

    void DelVip(String id,String code,String account) throws ErrorDataException;

    HashMap GetPOSData(String account,String start) throws GetUserDataException;

    HashMap FindPOSUserData(String account,String start,String message) throws GetUserDataException;

    HashMap GetWXData(String account,String start) throws GetUserDataException;

    HashMap FindWXUserData(String account,String start,String message) throws GetUserDataException;

    void RegisterUser(User user) throws InsertException;

    User FindUser(String openid,String token) throws UserNotFoundException;

    //累计关注会员数
    String getWxVipCount(String account);

    //获取绑定/注册的会员数
    String getUserCount(String account,String source);

    //会员购买数
    String getPayUserCount(String account);

    //激活会员数
    String getJHUserCount(String account);

    HashMap getVariousUser(String account);

    //获取店铺
    ArrayList<CardStore> GetVipStore(String account);

    //获取店铺员工
    ArrayList<Employee> GetEmpByStoreId(String storeId,String account);

    //各种查询汇源
    HashMap FindUserBys(String account,String vipType,String store,String empNO,String storejh,
                               String birthday,String cStartTime,String cEndTime,int page);

    //获取会员电话
    String findPhone(String uid, String token);
}
